package com.biz.primus.base.vo.address;

import com.biz.primus.base.enums.user.AddressAlias;
import com.biz.primus.base.enums.user.TempAddress;

import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * 类说明：收货地址的请求对象
 * 
 * @author xiaoyasong
 * @E-mail:yasong.xiao@biz-united.com.cn
 * @version 创建时间：2017年1月11日 上午11:56:14
 */
public class ShippingAddressFrontendVo extends BaseRequestVo {

	private static final long serialVersionUID = -2744959289728306102L;

	/**
	 * 收货地址id
	 */
	private String id;

	/**
	 * 收货人姓名
	 */
	private String name;

	/**
	 * 收货人电话
	 */
	private String mobile;

	/**
	 * 详细地址
	 */
	private String detailAddress;

	/**
	 * 省名
	 */
	private String provinceText;

	/**
	 * 市名
	 */
	private String cityText;

	/**
	 * 区名
	 */
	private String districtText;

	private Integer districtId;
	private Integer cityId;
	private Integer provinceId;

	/**
	 * 纬度
	 */
	private BigDecimal lat;

	/**
	 * 经度
	 */
	private BigDecimal lon;

	/**
	 * 收货地址类别
	 */
	private Integer addressAlias = AddressAlias.OTHER.getValue();

	/**
	 * 是否是临时收货地址
	 */
	private Integer tempAddress = TempAddress.NORMAL.getValue();

	/**
	 * 地址别名文本
	 */
	private String addressAliasText;

	/** 性别，男女 */
	private Boolean isMale;

	/** 标签名称 */
	private String labelName;

	/** 标签编号 */
	private Long label;

	/** 最后一次使用该地址 下订单的时间，用于返回地址时 辅助排序使用 */
	private Timestamp orderTime;

	/** 老版本地址的id */
	private Long oldAddressId;

	/**
	 * 距离
	 */
	private Integer distance;

	/**
	 * 送达目的地
	 */
	private String destination;

	/** 送货地址经度（相当于人的位置） */
	private BigDecimal deliverLat;

	/** 送货地址纬度（相当于人的位置） */
	private BigDecimal deliverLon;

	private Timestamp createTimestamp;

	private Timestamp updateTimestamp;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getDetailAddress() {
		return detailAddress;
	}

	public void setDetailAddress(String detailAddress) {
		this.detailAddress = detailAddress;
	}

	public String getProvinceText() {
		return provinceText;
	}

	public void setProvinceText(String provinceText) {
		this.provinceText = provinceText;
	}

	public String getCityText() {
		return cityText;
	}

	public void setCityText(String cityText) {
		this.cityText = cityText;
	}

	public String getDistrictText() {
		return districtText;
	}

	public void setDistrictText(String districtText) {
		this.districtText = districtText;
	}

	public BigDecimal getLat() {
		return lat;
	}

	public void setLat(BigDecimal lat) {
		this.lat = lat;
	}

	public BigDecimal getLon() {
		return lon;
	}

	public void setLon(BigDecimal lon) {
		this.lon = lon;
	}

	public Integer getAddressAlias() {
		return addressAlias;
	}

	public void setAddressAlias(Integer addressAlias) {
		this.addressAlias = addressAlias;
	}

	public Integer getTempAddress() {
		return tempAddress;
	}

	public void setTempAddress(Integer tempAddress) {
		this.tempAddress = tempAddress;
	}

	public Integer getDistrictId() {
		return districtId;
	}

	public void setDistrictId(Integer districtId) {
		this.districtId = districtId;
	}

	public Integer getCityId() {
		return cityId;
	}

	public void setCityId(Integer cityId) {
		this.cityId = cityId;
	}

	public Integer getProvinceId() {
		return provinceId;
	}

	public void setProvinceId(Integer provinceId) {
		this.provinceId = provinceId;
	}

	public String getAddressAliasText() {
		return addressAliasText;
	}

	public void setAddressAliasText(String addressAliasText) {
		this.addressAliasText = addressAliasText;
	}

	public Boolean getMale() {
		return isMale;
	}

	public void setMale(Boolean male) {
		isMale = male;
	}

	public String getLabelName() {
		return labelName;
	}

	public void setLabelName(String labelName) {
		this.labelName = labelName;
	}

	public Long getLabel() {
		return label;
	}

	public void setLabel(Long label) {
		this.label = label;
	}

	public Timestamp getOrderTime() {
		return orderTime;
	}

	public void setOrderTime(Timestamp orderTime) {
		this.orderTime = orderTime;
	}

	public Long getOldAddressId() {
		return oldAddressId;
	}

	public void setOldAddressId(Long oldAddressId) {
		this.oldAddressId = oldAddressId;
	}

	public Integer getDistance() {
		return distance;
	}

	public void setDistance(Integer distance) {
		this.distance = distance;
	}

	public String getDestination() {
		return destination;
	}

	public void setDestination(String destination) {
		this.destination = destination;
	}

	public BigDecimal getDeliverLat() {
		return deliverLat;
	}

	public void setDeliverLat(BigDecimal deliverLat) {
		this.deliverLat = deliverLat;
	}

	public BigDecimal getDeliverLon() {
		return deliverLon;
	}

	public void setDeliverLon(BigDecimal deliverLon) {
		this.deliverLon = deliverLon;
	}

	public Timestamp getCreateTimestamp() {
		return createTimestamp;
	}

	public void setCreateTimestamp(Timestamp createTimestamp) {
		this.createTimestamp = createTimestamp;
	}

	public Timestamp getUpdateTimestamp() {
		return updateTimestamp;
	}

	public void setUpdateTimestamp(Timestamp updateTimestamp) {
		this.updateTimestamp = updateTimestamp;
	}

	@Override
	public String toString() {
		return "ShippingAddressFrontendVo{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", mobile='" + mobile
				+ '\'' + ", detailAddress='" + detailAddress + '\'' + ", provinceText='" + provinceText + '\''
				+ ", cityText='" + cityText + '\'' + ", districtText='" + districtText + '\'' + ", lat=" + lat
				+ ", lon=" + lon + ", addressAlias=" + addressAlias + '}';
	}
}
